#ifndef _ABSTRACT_FILE_SYSTEM_H_
#define _ABSTRACT_FILE_SYSTEM_H_

#include "AbstractFile.h"

/*
	class : AbstractFileSystem
	desc : Interface for dealing with filesystems
		This is an attempt to make easier
		coding for different filesystems
		by providing a relatively simple interface to
		use across filesystems.
*/
class AbstractFileSystem
{
	public:
		//creates a file in the file system
		virtual AbstractFile* createFile(unsigned char* filename)=0;
		//deletes a file from the file system
		virtual void deleteFile(unsigned char* filename)=0;
		//finds and returns a file from the file system
		//given the root directory to search through.
		virtual AbstractFile* findFile(unsigned char* fileName, 
					AbstractFile* rootDirectory)=0;

};




#endif
